/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package plateau.exceptions;

import cartes.Carte;
import cartes.Classe;
import cartes.Objet;
import cartes.Race;
import common.Constantes;
import plateau.Joueur;

/**
 *
 * @author Arthur
 */
public class DefausserClasseRaceException extends Exception {

    protected boolean force;
    protected String description;
    
    public DefausserClasseRaceException(String description) {
        this.description =  description;        
    }    
    
    public String getMessage() {
        return description;
    }

    public boolean isForce() {
        return force;
    }

    public void setForce(boolean force) {
        this.force = force;
        if( this.force ) {
            this.description = "Vous allez aussi perdre les objets liés à votre classe. Et oui, c'est triste.";
        }
        else {
            this.description =  "Attention ! Vous allez aussi perdre les objets liés à votre classe. C'est votre dernier mot ?";
        }
    }
    
    

    public void defausserInventaire(Carte selected, Joueur j) {
        if( selected.getClass().getName().equals(Constantes.C_CLASSE)) {
           j.defausserClasseAvecObjets(selected);            
        }
        else if( selected.getClass().getName().equals(Constantes.C_RACE)) {
            j.defausserRaceAvecObjets(selected);
        }
        j.defausserInventaireForce(selected);        
    }
    
    
    
}
